package com.cloud.api.domain.service;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.api.myenum.CompanyEnum;
import com.cloud.api.myenum.StationType;
import com.cloud.core.entity.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 服务站授权信息表
 * </p>
 *
 * @author haohaibo
 * @since 2025-03-12
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("t_station_service_base_info")
@Schema(name = "StationServiceBaseInfo", description = "服务站授权信息表")
public class StationServiceBaseInfo extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @TableId("id")
    private String id;

    @Schema(description = "所属销售公司")
    @TableField("sales_company")
    private CompanyEnum salesCompany;

    @Schema(description = "分类")
    @TableField("category")
    private StationType category;

    @Schema(description = "名称")
    @TableField("name")
    private String name;

    @Schema(description = "简称")
    @TableField("short_name")
    private String shortName;

    @Schema(description = "状态(0-禁用，1-启用)")
    @TableField("status")
    private Integer status;

    @Schema(description = "联系人")
    @TableField("contact_person")
    private String contactPerson;

    @Schema(description = "联系电话")
    @TableField("contact_phone")
    private String contactPhone;

    @Schema(description = "省份")
    @TableField("province")
    private String province;

    @Schema(description = "城市")
    @TableField("city")
    private String city;

    @Schema(description = "区县")
    @TableField("district")
    private String district;

    @Schema(description = "详细地址")
    @TableField("address")
    private String address;

    @Schema(description = "经度")
    @TableField("longitude")
    private BigDecimal longitude;

    @Schema(description = "纬度")
    @TableField("latitude")
    private BigDecimal latitude;

    @Schema(description = "主体名称")
    @TableField("subject_name")
    private String subjectName;

    @Schema(description = "主体地区")
    @TableField("subject_region")
    private String subjectRegion;

    @Schema(description = "主体详细地区")
    @TableField("subject_region_info")
    private String subjectRegionInfo;

    @Schema(description = "授权车型")
    @TableField("authorized_models")
    private String authorizedModels;

    @Schema(description = "授权开始日期")
    @TableField("authorization_start")
    private String authorizationStart;

    @Schema(description = "授权结束日期")
    @TableField("authorization_end")
    private String authorizationEnd;

    @Schema(description = "签约日期")
    @TableField("sign_date")
    private String signDate;

    @Schema(description = "授权书地址")
    @TableField("authorization_address")
    private String authorizationAddress;

}
